#ifndef TEXTURE_H
#define TEXTURE_H

#include "EngineApi.h"
#include "boost\shared_ptr.hpp"

struct ENGINE_API ColorKey
{
   int red;
   int green;
   int blue;
};

class ENGINE_API Texture
{
public:
   typedef boost::shared_ptr<Texture> TexturePtr;

   Texture(std::string filename, ColorKey colorKey) : m_height(0), m_widith(0), m_fileName(filename), m_colorKey(colorKey) {}
   
   UINT getWidth() { return m_widith; }
   void setWidth(UINT width) { m_widith = width; }

   UINT getHeight() { return m_height; }
   void setHeight(UINT height) { m_height = height; }

   std::string getFileName() { return m_fileName; }
   ColorKey getColorKey() { return m_colorKey; }
   

private:
   UINT m_height;
   UINT m_widith;
   std::string m_fileName;
   ColorKey m_colorKey;
};

#endif//TEXTURE_H